Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: 부원들 출석 정보 열람 기능 구현 #80

Merged
merged 9 commits into from
Aug 5, 2024

Conversation

gikhoon
Copy link
Member

@gikhoon gikhoon commented Aug 1, 2024

연관된 이슈

이슈링크(url): #78

✅ 작업 내용

  • 관리자가 부원들 출석 정보 열람 기능 구현

🗣 ️리뷰 요구 사항

고민 중인 상황

  • 출석 정보에서 memberId 리스트를 가져와 MemberInfoResponse로 매핑하는데 N+1 문제가 발생
    fetch join으로 연결하려 했으나 출석정보 - 멤버가 명시적 연관(Member)가 아니라 (memberId)로 연관되어 있어 불가능
    어떤 식으로 해결 해야 할 지 고민 중
  • 출석정보에 출석상태(출석, 지각)이 있는데 결석을 했다면 출석정보(attendance_record)에 들어 있지 않은 상태..
    따라서 출석상태(AttendanceStatus)에 "결석" 항목을 넣을 건지? 고민 중
    현재는 "진행한 모든 출석 수 - record에 들어간 멤버의 출석 수"로 결석을 계산함

DDL 변경

ALTER TABLE attendance_record
ADD COLUMN attendance_status varchar(255) NOT NULL;

feat: 관리자가 출석부를 가져오는 기능 구현
- member, admin으로 나누지 않고 하나로 통합
- security 설정 변경
- Controller 파일명 변경

refactor: 출석 컨트롤러 API명 변경
- AdminService로 부터 출석기록 정보가 사용되는 부분을 RecordService로 분리
@gikhoon gikhoon requested a review from Youthhing August 1, 2024 08:40
@gikhoon gikhoon self-assigned this Aug 1, 2024
@gikhoon gikhoon added the feature label Aug 1, 2024
- 기존 멤버 하나씩 정보를 만드는 방식에서 활동 중인 회원 목록을 가져와 Map으로 만들게 변경

feat: 출석 목록에 해당하는 멤버 정보 받는 방식 변경

- 기존 멤버 하나씩 정보를 만드는 방식에서 활동 중인 회원 목록을 가져와 Map으로 만들게 변경
@gikhoon gikhoon force-pushed the feature/#TA-6-admin-attendance-record branch from 800ac8f to e2d12d2 Compare August 1, 2024 14:46
@gikhoon
Copy link
Member Author

gikhoon commented Aug 1, 2024

@Youthhing
고민사항 1번 해결
Active Member 리스트를 <Long, Member> 쌍으로 만들어 member 객체를 찾는다.

  • 하지만 과거 출석 기록을 보면 활동 중인 멤버의 출석 정보만 나온다.
    (1) OLD_MEMBER까지 member를 가져온다.
    (2) 현재처럼 활성화된 멤버가 가지고 온다

Copy link
Member

@Youthhing Youthhing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이전 브랜치와 작업이 꼬여서 머지할때 신경을 많이 써야할 것 같습니다! 우선 리뷰 확인 부탁드립니다.

Copy link
Member

@Youthhing Youthhing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DTO 분리와 generateAttendanceResponses메서드에 관한 로직에 대한 피드백 남겼습니다..!

마무리 작업하는데 참고해보세요~

Copy link
Member

@Youthhing Youthhing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

마지막 수정 사항 반영부탁드려요!

@Youthhing Youthhing merged commit 40db593 into develop Aug 5, 2024
1 check passed
@Youthhing Youthhing deleted the feature/#TA-6-admin-attendance-record branch August 5, 2024 05:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants